package com.game.commons.configuration.transformers;

import java.lang.reflect.Field;

import com.game.commons.configuration.PropertyTransformer;
import com.game.commons.configuration.TransformationException;



/**
 * 将字符串转换成字节，字符串可以为十进制或则十六进制
 * 
 * @author 杜祥
 * @create 2013-6-29
 */
public class ByteTransformer implements PropertyTransformer<Byte>
{
	/**
	 * 这种转换器实例。线程安全，所以无需创建多个实例
	 */
	public static final ByteTransformer	SHARED_INSTANCE	= new ByteTransformer();

	/**
	 * 字符串转换成字节
	 * 
	 * @param value
	 *            将被转换的值
	 * @param field
	 *            被赋值的域
	 * @return 字节对象
	 * @throws TransformationException
	 *             出错抛出此异常
	 */
	@Override
	public Byte transform(String value, Field field) throws TransformationException
	{
		try
		{
			return Byte.decode(value);
		}
		catch(Exception e)
		{
			throw new TransformationException(e);
		}
	}
}
